package com.mayflygeek.mayflyask.framework.orm;

import java.util.List;

import org.springframework.data.domain.Page;

/**
 * @author 虫虫
 * @team 蜉蝣极客
 * @link www.mayflygeek.com
 * @Emial chongchong@mayflygeek.com
 * 
 */
public interface Resulted<T> {
	/**
	 * 获取查询结果列表
	 * @return 结果列表
	 */
	List<T> list();
	
	/**
	 * 获取查询分页数据
	 * @return 分页数据
	 */
	Page<T> page();
	
	/**
	 * 获取查询结果集第一项
	 * @return 结果集第一项
	 */
	T first();
	
	/**
	 * 获取查询结果集唯一项
	 * @return 结果唯一项
	 * @throws RuntimeException 如果结果集存在多项
	 */
	T unique();
	
	/**
	 * 获取查询结果集数量
	 * @return 结果集数量
	 */
	int count();
}
